package com.liqing.movecomment.entity;

import java.time.LocalDateTime;
import java.util.Date;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * (Move)实体类
 *
 * @author makejava
 * @since 2023-05-08 02:01:52
 */
public class Move implements Serializable {
    private static final long serialVersionUID = -91060281615964695L;
    /**
     * 电影id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 1 是电影 2是电视剧
     */
    private Integer sort;
    /**
     * 电影名
     */
    private String name;
    /**
     * 国家
     */
    private String country;
    /**
     * 发布年份
     */
    private String year;
    /**
     * 评分
     */
    private double score;
    /**
     * 简介
     */
    private String description;
    /**
     * 热度
     */
    private String hot;
    /**
     * 时长 120分钟
     */
    private Long time;
    /**
     * 参与评分人数
     */
    private Integer people;
    /*
    * 电视剧集数量  只有sort 为 2的时候才插入
    * */
    private Integer moveCount;
    /**
     * IMDB评分
     */
    private String imdb;
    /**
     * 豆瓣评分
     */
    private Double douban;
    /**
     * 烂番茄评分
     */
    private String lanfanqie;
    /**
     * 海报地址
     */
    private String posterAddress;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 电影id
     */
    @SuppressWarnings("all")
    public Integer getId() {
        return this.id;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 1 是电影 2是电视剧
     */
    @SuppressWarnings("all")
    public Integer getSort() {
        return this.sort;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 电影名
     */
    @SuppressWarnings("all")
    public String getName() {
        return this.name;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 国家
     */
    @SuppressWarnings("all")
    public String getCountry() {
        return this.country;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 发布年份
     */
    @SuppressWarnings("all")
    public String getYear() {
        return this.year;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 评分
     */
    @SuppressWarnings("all")
    public double getScore() {
        return this.score;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 简介
     */
    @SuppressWarnings("all")
    public String getDescription() {
        return this.description;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 热度
     */
    @SuppressWarnings("all")
    public String getHot() {
        return this.hot;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 时长 120分钟
     */
    @SuppressWarnings("all")
    public Long getTime() {
        return this.time;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 参与评分人数
     */
    @SuppressWarnings("all")
    public Integer getPeople() {
        return this.people;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    @SuppressWarnings("all")
    public Integer getMoveCount() {
        return this.moveCount;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * IMDB评分
     */
    @SuppressWarnings("all")
    public String getImdb() {
        return this.imdb;
    }
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 豆瓣评分
     */
    @SuppressWarnings("all")
    public Double getDouban() {
        return this.douban;
    }
    //</editor-fold>

    /**
     * 烂番茄评分
     */
    @SuppressWarnings("all")
    public String getLanfanqie() {
        return this.lanfanqie;
    }

    //<editor-fold defaultstate="collapsed" desc="delombok">
    /**
     * 海报地址
     */
    @SuppressWarnings("all")
    public String getPosterAddress() {
        return this.posterAddress;
    }

    /**
     * 创建时间
     */
    @SuppressWarnings("all")
    public LocalDateTime getCreateTime() {
        return this.createTime;
    }

    /**
     * 电影id
     */
    @SuppressWarnings("all")
    public void setId(final Integer id) {
        this.id = id;
    }

    /**
     * 1 是电影 2是电视剧
     */
    @SuppressWarnings("all")
    public void setSort(final Integer sort) {
        this.sort = sort;
    }

    /**
     * 电影名
     */
    @SuppressWarnings("all")
    public void setName(final String name) {
        this.name = name;
    }

    /**
     * 国家
     */
    @SuppressWarnings("all")
    public void setCountry(final String country) {
        this.country = country;
    }

    /**
     * 发布年份
     */
    @SuppressWarnings("all")
    public void setYear(final String year) {
        this.year = year;
    }

    /**
     * 评分
     */
    @SuppressWarnings("all")
    public void setScore(final double score) {
        this.score = score;
    }

    /**
     * 简介
     */
    @SuppressWarnings("all")
    public void setDescription(final String description) {
        this.description = description;
    }

    /**
     * 热度
     */
    @SuppressWarnings("all")
    public void setHot(final String hot) {
        this.hot = hot;
    }

    /**
     * 时长 120分钟
     */
    @SuppressWarnings("all")
    public void setTime(final Long time) {
        this.time = time;
    }

    /**
     * 参与评分人数
     */
    @SuppressWarnings("all")
    public void setPeople(final Integer people) {
        this.people = people;
    }

    @SuppressWarnings("all")
    public void setMoveCount(final Integer moveCount) {
        this.moveCount = moveCount;
    }

    /**
     * IMDB评分
     */
    @SuppressWarnings("all")
    public void setImdb(final String imdb) {
        this.imdb = imdb;
    }

    /**
     * 豆瓣评分
     */
    @SuppressWarnings("all")
    public void setDouban(final Double douban) {
        this.douban = douban;
    }

    /**
     * 烂番茄评分
     */
    @SuppressWarnings("all")
    public void setLanfanqie(final String lanfanqie) {
        this.lanfanqie = lanfanqie;
    }

    /**
     * 海报地址
     */
    @SuppressWarnings("all")
    public void setPosterAddress(final String posterAddress) {
        this.posterAddress = posterAddress;
    }

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @SuppressWarnings("all")
    public void setCreateTime(final LocalDateTime createTime) {
        this.createTime = createTime;
    }

    @Override
    @SuppressWarnings("all")
    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof Move)) return false;
        final Move other = (Move) o;
        if (!other.canEqual((Object) this)) return false;
        if (Double.compare(this.getScore(), other.getScore()) != 0) return false;
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false;
        final Object this$sort = this.getSort();
        final Object other$sort = other.getSort();
        if (this$sort == null ? other$sort != null : !this$sort.equals(other$sort)) return false;
        final Object this$time = this.getTime();
        final Object other$time = other.getTime();
        if (this$time == null ? other$time != null : !this$time.equals(other$time)) return false;
        final Object this$people = this.getPeople();
        final Object other$people = other.getPeople();
        if (this$people == null ? other$people != null : !this$people.equals(other$people)) return false;
        final Object this$moveCount = this.getMoveCount();
        final Object other$moveCount = other.getMoveCount();
        if (this$moveCount == null ? other$moveCount != null : !this$moveCount.equals(other$moveCount)) return false;
        final Object this$douban = this.getDouban();
        final Object other$douban = other.getDouban();
        if (this$douban == null ? other$douban != null : !this$douban.equals(other$douban)) return false;
        final Object this$name = this.getName();
        final Object other$name = other.getName();
        if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
        final Object this$country = this.getCountry();
        final Object other$country = other.getCountry();
        if (this$country == null ? other$country != null : !this$country.equals(other$country)) return false;
        final Object this$year = this.getYear();
        final Object other$year = other.getYear();
        if (this$year == null ? other$year != null : !this$year.equals(other$year)) return false;
        final Object this$description = this.getDescription();
        final Object other$description = other.getDescription();
        if (this$description == null ? other$description != null : !this$description.equals(other$description)) return false;
        final Object this$hot = this.getHot();
        final Object other$hot = other.getHot();
        if (this$hot == null ? other$hot != null : !this$hot.equals(other$hot)) return false;
        final Object this$imdb = this.getImdb();
        final Object other$imdb = other.getImdb();
        if (this$imdb == null ? other$imdb != null : !this$imdb.equals(other$imdb)) return false;
        final Object this$lanfanqie = this.getLanfanqie();
        final Object other$lanfanqie = other.getLanfanqie();
        if (this$lanfanqie == null ? other$lanfanqie != null : !this$lanfanqie.equals(other$lanfanqie)) return false;
        final Object this$posterAddress = this.getPosterAddress();
        final Object other$posterAddress = other.getPosterAddress();
        if (this$posterAddress == null ? other$posterAddress != null : !this$posterAddress.equals(other$posterAddress)) return false;
        final Object this$createTime = this.getCreateTime();
        final Object other$createTime = other.getCreateTime();
        if (this$createTime == null ? other$createTime != null : !this$createTime.equals(other$createTime)) return false;
        return true;
    }

    @SuppressWarnings("all")
    protected boolean canEqual(final Object other) {
        return other instanceof Move;
    }

    @Override
    @SuppressWarnings("all")
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final long $score = Double.doubleToLongBits(this.getScore());
        result = result * PRIME + (int) ($score >>> 32 ^ $score);
        final Object $id = this.getId();
        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
        final Object $sort = this.getSort();
        result = result * PRIME + ($sort == null ? 43 : $sort.hashCode());
        final Object $time = this.getTime();
        result = result * PRIME + ($time == null ? 43 : $time.hashCode());
        final Object $people = this.getPeople();
        result = result * PRIME + ($people == null ? 43 : $people.hashCode());
        final Object $moveCount = this.getMoveCount();
        result = result * PRIME + ($moveCount == null ? 43 : $moveCount.hashCode());
        final Object $douban = this.getDouban();
        result = result * PRIME + ($douban == null ? 43 : $douban.hashCode());
        final Object $name = this.getName();
        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
        final Object $country = this.getCountry();
        result = result * PRIME + ($country == null ? 43 : $country.hashCode());
        final Object $year = this.getYear();
        result = result * PRIME + ($year == null ? 43 : $year.hashCode());
        final Object $description = this.getDescription();
        result = result * PRIME + ($description == null ? 43 : $description.hashCode());
        final Object $hot = this.getHot();
        result = result * PRIME + ($hot == null ? 43 : $hot.hashCode());
        final Object $imdb = this.getImdb();
        result = result * PRIME + ($imdb == null ? 43 : $imdb.hashCode());
        final Object $lanfanqie = this.getLanfanqie();
        result = result * PRIME + ($lanfanqie == null ? 43 : $lanfanqie.hashCode());
        final Object $posterAddress = this.getPosterAddress();
        result = result * PRIME + ($posterAddress == null ? 43 : $posterAddress.hashCode());
        final Object $createTime = this.getCreateTime();
        result = result * PRIME + ($createTime == null ? 43 : $createTime.hashCode());
        return result;
    }

    @Override
    @SuppressWarnings("all")
    public String toString() {
        return "Move(id=" + this.getId() + ", sort=" + this.getSort() + ", name=" + this.getName() + ", country=" + this.getCountry() + ", year=" + this.getYear() + ", score=" + this.getScore() + ", description=" + this.getDescription() + ", hot=" + this.getHot() + ", time=" + this.getTime() + ", people=" + this.getPeople() + ", moveCount=" + this.getMoveCount() + ", imdb=" + this.getImdb() + ", douban=" + this.getDouban() + ", lanfanqie=" + this.getLanfanqie() + ", posterAddress=" + this.getPosterAddress() + ", createTime=" + this.getCreateTime() + ")";
    }

    @SuppressWarnings("all")
    public Move(final Integer id, final Integer sort, final String name, final String country, final String year, final double score, final String description, final String hot, final Long time, final Integer people, final Integer moveCount, final String imdb, final Double douban, final String lanfanqie, final String posterAddress, final LocalDateTime createTime) {
        this.id = id;
        this.sort = sort;
        this.name = name;
        this.country = country;
        this.year = year;
        this.score = score;
        this.description = description;
        this.hot = hot;
        this.time = time;
        this.people = people;
        this.moveCount = moveCount;
        this.imdb = imdb;
        this.douban = douban;
        this.lanfanqie = lanfanqie;
        this.posterAddress = posterAddress;
        this.createTime = createTime;
    }

    @SuppressWarnings("all")
    public Move() {
    }
}
    //</editor-fold>
